package cn.akira.domain.strategy.service.armory;

import java.util.Date;

/**
 * @author fjl95
 * @date 2025/5/12
 * @description 策略抽奖调度，与策略装配分开
 */
public interface IStrategyDispatch {

    /**
     * 获取抽奖策略装配的随机结果
     *
     * @param strategyId 策略ID
     * @return 抽奖结果
     */
    Integer getRandomAwardId(Long strategyId);

    Integer getRandomAwardId(Long strategyId, String ruleWeightValue);

    /**
     * 库存扣减
     * @param strategyId
     * @param awardId
     * @return
     */
    Boolean subtractionAwardStock(Long strategyId, Integer awardId, Date endDateTime);
}
